1
局部作用域与自动对象生命周期
AI037Lesson 9
00:00

在C++程序的宏大舞台上,对象就像演员。有些会全程留在舞台上,但大多数—— 局部对象——是仅在单个场景中出现并永远消失的短暂实体。本课建立了对象的 可见性 (作用域)与它的 存在性 (生命周期)之间的根本区别。

1. 词法作用域与执行生命周期

一个名字的 作用域 是一个编译时属性:它是指程序文本中该名称可被使用的作用区域。反之, 生命周期 是一个运行时属性:指对象占用物理内存地址的持续时间。

源代码(作用域){int i = 42;cout << i;}内存栈(生命周期)i: 42其他帧实例化块退出 / 弹出

2. 自动对象

仅在块执行期间存在的对象称为 自动对象。当控制流经过其定义时(int n = 0;)创建,并在遇到闭合大括号(})时被销毁。参数本质上是通过实参初始化的局部变量。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>